package ${packageName}.arouter;

import android.content.Context;

import com.alibaba.android.arouter.facade.Postcard;
import com.alibaba.android.arouter.facade.annotation.Interceptor;
import com.alibaba.android.arouter.facade.callback.InterceptorCallback;
import com.alibaba.android.arouter.facade.template.IInterceptor;

/**
 * Created by Mikes at 2019/4/28 10:08 AM
 * 检查待跳转页面是否需要登录拦截器
 */
@Interceptor(priority = 1)
public class LoginStateInterceptor implements IInterceptor {
    @Override
    public void process(Postcard postcard, InterceptorCallback callback) {
        /**
         * 不需要拦截，直接调用onContinue；
         * 如果需要拦截，跳转到登录页并调用onInterrupt。
         * eg:
         *   ARouterUtils.navigation(ARouterPathConstants.PATH_SIGN_IN);
         * 另外支持登录完成后再继续执行之前被拦截的跳转动作，需自行实现。
         * eg: 未登录状态点击通知中心，被拦截，跳转到登录页，登录成功后，再自动跳转到通知中心。
         */
        callback.onContinue(postcard);
//        callback.onInterrupt(needClientException)
    }

    @Override
    public void init(Context context) {

    }
}
